class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        //创建一个虚拟节点
        ListNode* L=new ListNode();
        ListNode* ptr=L;

        int carry=0;
        while(l1||l2||carry)
        {
            if(l1)carry+=l1->val,l1=l1->next;
            if(l2)carry+=l2->val,l2=l2->next;

            ListNode* newnode=new ListNode(carry%10);
            ptr->next=newnode;
            ptr=ptr->next;

            carry/=10;
        }
         return L->next;    
    }
};
